import { ref, computed, type Ref } from 'vue'
import { defineStore } from 'pinia'
import { getLoginUserUsingGet } from '@/api/userController.ts'

// 存储登录用户信息的状态
export const useLoginUserStore = defineStore('loginUser', () => {
  const loginUser: Ref<any, any> = ref<API.LoginUserVO>({
    userName: '未登录',
  })

  /**
   * 远程获取登录用户信息
   */
  async function fetchLoginUser(): Promise<void> {
    const res = await getLoginUserUsingGet();
    if (res.data.code ===0 && res.data.data){
    loginUser.value = res.data.data;
    }
  }
  // // 三秒之后自动登录
  // setTimeout(() => {
  //   loginUser.value = {
  //     userName: '测试用户',
  //     id: 1,
  //   }
  // }, 3000)

  // 设置登录用户信息
  function setLoginUser(user: any): void {
    loginUser.value = user
  }

  return { setLoginUser, fetchLoginUser, loginUser }
})

// 一个状态存储一类要共享的数据（存一类常量）
// 定义初始值
// 修改函数
